/// 这是一个行文档注释，用于说明 `main` 函数。
/// 该函数是程序的入口点。
fn main() {
    // 这是一个行注释，用于说明下面的代码
    let name = "张三"; // 定义一个字符串变量

    /*
    这是一个块注释，
    用于说明下面的代码。
    该代码会打印问候语。
    */
    greet(name);

    // 调用一个带有文档注释的函数
    calculate(10, 2);
}

/// 这是一个行文档注释，用于说明 `greet` 函数。
/// 该函数接受一个名字并打印问候语。
fn greet(name: &str) {
    println!("你好，{}！", name);
}

/**
 * 这是一个块文档注释，用于说明 `calculate` 函数。
 * 该函数接受两个整数并打印它们的和、差、积、商。
 */
fn calculate(a: i32, b: i32) {
    let sum = a + b; // 计算和
    let diff = a - b; // 计算差
    let product = a * b; // 计算积
    let quotient = a / b; // 计算商

    println!("和: {}", sum);
    println!("差: {}", diff);
    println!("积: {}", product);
    println!("商: {}", quotient);
}